package com.bdqn.t382.factory;

import com.bdqn.t382.dao.PetDao;
import com.bdqn.t382.dao.PetDaoMySQLImpl;
import com.bdqn.t382.dao.PetDaoOracleImpl;

public class PetDaoFactory {
    // 此默认名称可以通过读取 properties配置文件进行修改
    public static String defaultBeanName = "petDaoMySQLImpl";

    /**
     * 负责根据名称获取对应的 PetDao 实现对象
     *
     * @param beanName
     * @return
     */
    public static PetDao getInstance(String beanName) {

        PetDao petDao = null;

        switch (beanName) {
            case "petDaoMySQLImpl":

                petDao = new PetDaoMySQLImpl();

                break;
            case "petDaoOracleImpl":

                petDao = new PetDaoOracleImpl();

                break;
            default:
                throw new RuntimeException("未找到'" + beanName + "'对应的对象.");
        }
        return petDao;
    }
}
